Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by www.netzwerkartist.de...

 <<   zurück
Visual Basic 2005 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual Basic 2005

Visual Basic 2005
1.233 S., mit 2 CDs, 59,90 Euro
Galileo Computing
ISBN 3-89842-585-1
gp Kapitel 16 Die wichtigsten Steuerelemente
  gp 16.1 Gemeinsame Eigenschaften, Methoden und Ereignisse
    gp 16.1.1 Größe und Position
    gp 16.1.2 Die Sichtbarkeit und der Aktivierungszustand
    gp 16.1.3 Die Eigenschaft »Text«
    gp 16.1.4 Die Farbeigenschaften
    gp 16.1.5 Grafische Darstellung
    gp 16.1.6 Die »Modifiers«-Eigenschaft
    gp 16.1.7 Die Eigenschaft »Tag«
    gp 16.1.8 Die Größe von Steuerelementen dynamisch der Formgröße anpassen
    gp 16.1.9 Die »Dock«-Eigenschaft
    gp 16.1.10 Die z-Reihenfolge
    gp 16.1.11 Die Tabulatorreihenfolge
    gp 16.1.12 Steuerelemente fokussieren
    gp 16.1.13 Maus- und Tastaturereignisse
  gp 16.2 Schaltflächen der Klasse »Button«
    gp 16.2.1 Die Rahmendarstellung einer Schaltfläche
    gp 16.2.2 Die Eigenschaft »FlatAppearance«
    gp 16.2.3 Beschriftung und Grafiken
    gp 16.2.4 Weitere Gestaltungsmöglichkeiten
  gp 16.3 Auswahlkästchen mit der Klasse »CheckBox«
    gp 16.3.1 Eigenschaften eines Kontrollkästchens
    gp 16.3.2 Checkboxen mit drei Aktivierungszuständen
  gp 16.4 Die Klasse »RadioButton« (Optionsschaltflächen)
    gp 16.4.1 Die Gruppierung der Optionsschaltflächen
    gp 16.4.2 Die Eigenschaften von Optionsschaltflächen
    gp 16.4.3 Den Zustandswechsel programmieren
  gp 16.5 Die »GroupBox« als übergeordneter Container
  gp 16.6 Texteingabefelder mit der Klasse »TextBox«
    gp 16.6.1 Einzeilige Eingabefelder
    gp 16.6.2 Mehrzeilige Eingabefelder
  gp 16.7 Das Steuerelement »RichTextBox«
  gp 16.8 Beschriftungen mit dem Steuerelement »Label«
  gp 16.9 Das »LinkLabel«-Steuerelement
  gp 16.10 Die Anzeige eines QuickInfo-Texts
    gp 16.10.1 Methoden des »ToolTip«-Steuerelements
    gp 16.10.2 Aktivierungsdauer des »QuickInfo«-Steuerelements
    gp 16.10.3 Weitere Eigenschaften
  gp 16.11 Das »ListBox«-Steuerelement
    gp 16.11.1 Die Auflistung »ListBox.ObjectCollection«
    gp 16.11.2 Eigenschaften zur Darstellung einer Listbox
    gp 16.11.3 Einfach- und Mehrfachauswahl der Listenelemente
    gp 16.11.4 Programmatischer Zugriff auf Listboxen mit Einfachauswahl
    gp 16.11.5 Benutzerdefiniertes Sortieren der Listenelemente
    gp 16.11.6 Füllen einer Listbox mit »DataSource«
  gp 16.12 Das Steuerelement »CheckedListBox«
  gp 16.13 Die »ComboBox« (Kombinationslistenfeld)
    gp 16.13.1 Ereignisse eines Kombinationslistenfeldes
    gp 16.13.2 Autovervollständigung in einer »ComboBox«


Galileo Computing

16.9 Das »LinkLabel«-Steuerelement  toptop

Aus dem Label-Steuerelement ist das LinkLabel-Steuerelement abgeleitet. Seine Aufgabe besteht darin, Hyperlinks aufzurufen. Zwischen einem LinkLabel und seiner Basisklasse Label besteht ein gravierender Unterschied: Ein LinkLabel kann fokussiert werden. Es reagiert deshalb nicht nur auf einen Mausklick, sondern auch auf die (Return)-Taste.

In der Eigenschaft Text wird eine Zeichenfolge eingetragen, die als Hyperlink standardmäßig in Blau angezeigt wird, aber mit LinkColor auch individuell eingestellt werden kann. Das Verhalten des Links (z.  B. die Unterstreichung) kann über LinkBehavior beeinflusst werden. Standardmäßig orientiert sich das Steuerelement an den Systemeinstellungen, übernimmt also die Einstellungen des Internet Explorers.

Wir müssen dem Steuerelement natürlich mitteilen, welcher Link dargestellt werden soll. Dazu dient die Eigenschaft Links, die eine Referenz auf eine Auflistung vom Typ LinkCollection zurückgibt.


Public ReadOnly Property Links As LinkLabel.LinkCollection

Da es sich um eine Auflistung handelt, liegt auch der Schluss nahe, dass sich hinter einem LinkLabel-Steuerelement mehrere Hyperlinks befinden können – und dieser Schluss ist richtig. Nehmen wir beispielsweise an, ein LinkLabel würde in einer Form die Beschriftung

Stan's Website / E-Mail an Stan

aufweisen. Der erste Eintrag (»Stan’s Website«) soll mit Stan’s Homepage verlinkt werden, der zweite (»E-Mail an Stan«) eine E-Mail an Stan schicken (dazu wird das Standardmailprogramm des Anwenders geöffnet und ein neues E-Mail-Dokument angezeigt, in das Stan’s Mailadresse übernommen wird). Es sind zwei Hyperlinks notwendig, um zu diesem Resultat zu kommen.

Beide Hyperlinks können mit der Add-Methode der LinkCollection wie folgt hinzugefügt werden:


linkLabel1.Links.Add(0, 14, "http://www.stan.xyz")
linkLabel1.Links.Add(17, 13, "mailto:my@friend.stan")

Die Parameter der Add-Methode fallen eine wenig aus dem ansonsten üblichen Rahmen, den wir von anderen Auflistungen gewohnt sind:


Public Function Add(Integer, Integer, Object) As Link

Der erste Parameter gibt die Startposition an, ab welcher der Hyperlink erstellt wird, der zweite sagt, wie viele Zeichen ab der Startposition als Hyperlink angezeigt werden sollen. Die ersten 14 Zeichen der Beschriftung in unserem Beispiel bilden den Bereich des ersten Hyperlinks (was der Teilzeichenfolge Stan’s Website entspricht), die dem 17. Zeichen folgenden 13 Zeichen geben seine Mailadresse an (entsprechend der Zeichenfolge EMail an Stan).


Hinweis

Überlappen sich Bereiche, wird ein Kompilierfehler ausgelöst. Werden einige Zeichen der LinkLabel-Beschriftung nicht von den angegebenen Zahlen erfasst, sind diese zur Laufzeit auch nicht als Link erkennbar.


Wird zur Laufzeit ein LinkLabel-Steuerelement angeklickt, wird das Ereignis LinkedClicked ausgelöst. Befindet sich hinter dem Steuerelement eine Webadresse, erwarten wir selbstverständlich, dass sich der standardmäßig eingerichtete Webbrowser mit der entsprechenden Seite öffnet. Um das zu erreichen, müssen wir uns der Klasse Process bedienen, die im Namespace System.Diagnostics definiert ist. Der statischen Methode Start der Klasse Process übergeben wir eine Zeichenfolge. Enthält diese die Angabe einer EXE-Datei, wird das entsprechende Programm gestartet, handelt es sich um einen Dokumentnamen, das mit diesem Dokumenttyp verbundene Programm. Die folgende Anweisung startet beispielsweise den Windows-Explorer:


Process.Start("explorer.exe")

Übergeben wir die Adresse einer Webseite, wird automatisch der Webbrowser gestartet.

Um im Ereignis LinkedClicked den vom Anwender angeklickten Link zu erhalten, brauchen wir nur das dem Ereignishandler übergebene Args-Objekt vom Typ LinkLabelLinkClickedEventArgs abzufragen, das mit seiner Eigenschaft Link eine Referenz auf den angeklickten Link liefert. Wir müssen noch dessen Inhalt auswerten und können ihn als String der Start-Methode übergeben:


Private Sub LinkLabel1_LinkClicked(ByVal sender As Object, _
ByVal e As LinkLabelLinkClickedEventArgs) _
Handles LinkLabel1.LinkClicked
Process.Start(e.Link.LinkData)
End Sub

Soll ein besuchter Link im Formular durch eine andere Farbe kenntlich gemacht werden, muss die Eigenschaft Visited des Link-Objekts auf True gesetzt werden. Der Link in der Form nimmt dann die unter VisitedLinkColor definierte Farbe an. Dazu muss der Ereignishandler noch um die folgende Anweisung ergänzt werden:


linkLabel1.Links(linkLabel1.Links.IndexOf(e.Link)).Visited = True

Fassen wir nun den Code abschließend übersichtlich zusammen:


' ---------------------------------------------------------
' Beispiel: ...\Kapitel 16\LinkLabelDemo
' ---------------------------------------------------------
Public Class Form1
Private Sub Form1_Load(...) Handles MyBase.Load
LinkLabel1.Links.Add(0, 14, "http://www.stan.xyz")
LinkLabel1.Links.Add(17, 13, "mailto:my@friend.stan")
End Sub
Private Sub LinkLabel1_LinkClicked(...) _
Handles LinkLabel1.LinkClicked
Process.Start(e.Link.LinkData)
LinkLabel1.Links( _
LinkLabel1.Links.IndexOf(e.Link)).Visited = True
End Sub
End Class

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 16.13     Form des Beispiels »LinkLabelDemo«

 <<   zurück
  
  Zum Katalog
Zum Katalog: Visual Basic 2005
Visual Basic 2005
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual C# 2005






 Visual C# 2005


Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2005






 Fortgeschrittene
 Programmierung
 mit Visual C# 2005


Zum Katalog: Das Programmierhandbuch SQL Server 2005






 Das Programmier-
 handbuch
 SQL Server 2005


Zum Katalog: Einstieg in Visual Basic 2005






 Einstieg in
 Visual Basic 2005


Zum Katalog: Einstieg in Visual C# 2005






 Einstieg in
 Visual C# 2005


Zum Katalog: Konzepte und Lösungen für Microsoft-Netzwerke






 Konzepte und
 Lösungen für
 Microsoft-Netzwerke


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de